Global and local statistics controlled noise reduction system

ABSTRACT

A global and local statistics controlled noise reduction system in which the video image noise reduction processing is effectively adaptive to both image local structure and global noise level. A noise estimation method provides reliable global noise statistics to the noise reduction system. The noise reduction system dynamically/adaptively configures a local filter for processing each image pixel, and processes the pixel with that local filter. The filtering process of the noise reduction system is controlled by both global and local image statistics that are also computed by the system.

FIELD OF THE INVENTION

The present invention relates generally to video image processing, andmore particularly to noise reduction in video images.

BACKGROUND OF THE INVENTION

Video images are often corrupted by noise during the video imageacquisition or transmission process. In order to improve the visualappearance of such images, an effective filtering technique is oftenrequired to reduce the noise level therein. Traditional noise reductiontechniques mainly involve applying a linear filter such as an averagingfilter to all of the pixels in a video frame (“image”). While thisreduces noise level in the image, such a linear filtering technique alsoindiscriminately blurs edges in the image.

In order to prevent image edge blurring, a noise reduction filter mustbe adaptive to local structures, such as edges, in the image. One suchadaptive technique is known as directional filtering. Directionalfiltering attempts to avoid image blurring by adapting linear filteringto image edge directions in such a way that the filter utilized isalways applied along the edge direction not across the edge direction.

FIG. 1 shows a block diagram of an example directional filter 100. Ateach image pixel, first the 2-D local variance is computed by a localvariance calculator 120 for a small window. Then, the 1-D localvariances are computed along the horizontal, vertical, diagonal fromupper left to lower right, and diagonal from upper right to lower leftdirections within the same window of pixels. To determine the edgedirection, the 2-D variance is compared with a predetermined thresholdin an edge direction detector block 140. If the 2-D variance is lessthan the threshold, then no edge is present at the pixel, and the pixelis considered having “no direction”. If the 2-D variance is greater thanthe threshold, then an edge is present at that pixel, and the directionwith the smallest 1-D variance is considered as the edge direction ofthe pixel. Utilizing a filter 160, at “no direction” pixels, a 2-Daverage filter is applied. At a pixel with a detected edge direction, a1-D average filter is applied along the detected direction. By filteringalong image edge directions, the directional filter 100 is able toretain most of the image structures while reducing the noise level ofthe input image.

There are two major shortcomings to the directional filtering technique.The first is that the threshold value must be manually tuned and usuallyit is difficult to select the right value. An improperly selectedthreshold value will cause either image blurring or insufficient noisereduction. The second shortcoming of the directional filter is that thefilter strength is fixed. That means a relatively clean image isprocessed the same way as a highly noisy image. This causes therelatively clean image to unnecessarily lose some fine structures and bedegraded.

BRIEF SUMMARY OF THE INVENTION

The present invention addresses the above shortcomings. As such, in oneembodiment the present invention provides a global and local statisticscontrolled noise reduction system wherein the video image noisereduction processing is effectively adaptive to both image localstructure and global noise level. And, a noise estimation methodaccording to the present invention provides reliable global noisestatistics to the noise reduction system.

Such a global and local statistics controlled noise reduction systemdynamically/adaptively configures a local filter for processing eachimage pixel, and processes the pixel with that local filter. Thefiltering process of the noise reduction system is controlled by bothglobal and local image statistics that are also computed by the system.In one example, the local statistics computed by the system are 1-D and2-D local variances, and the global statistics computed by the system isthe global noise standard deviation. The local filter configured by thesystem for each image pixel has different filtering directions andvariable strength for different pixels. The direction of the localfilter is determined by 1-D local variances. The strength of the localfilter is computed directly from the local variances and the globalnoise standard deviation.

According to a further aspect of the present invention, the global noisestandard deviation is estimated by a noise estimation method. First, theimage is divided into overlapping or non-overlapping blocks, and themean and the standard deviation of each block are calculated. Then, thesmallest standard deviation is found together with the correspondingblock mean. After the smallest standard deviation and its correspondingmean have been found, a “saturation checking” process is applied todetermine whether the block with the smallest standard deviation hassaturated. This determination is based on the relation between thesmallest standard deviation and its corresponding mean.

If saturation is not detected, the calculated block standard deviationsthat are within a neighboring interval centered at the smallest standarddeviation are averaged, and the average value is taken as the estimatedglobal noise standard deviation. The radius of the neighboring intervaldepends on the value of the smallest standard deviation.

If saturation is detected, first a saturation compensation term is addedto the smallest standard deviation to generate a compensated smalleststandard deviation. The saturation compensation term is computed fromthe smallest standard deviation and its corresponding mean. Then, thecalculated block standard deviations that are within a neighboringinterval centered at the compensated smallest standard deviation areaveraged to obtain the estimated global noise standard deviation. Thenoise standard deviation is used in the noise reduction system.

Other objects, features and advantages of the present invention will beapparent from the following specification taken in conjunction with thefollowing drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram of a prior art directional filter;

FIG. 2 shows a functional block diagram of an embodiment of a global andlocal statistics controlled noise reduction system according to thepresent invention;

FIG. 3 illustrates example directions for computing the 1-D variances inthe system of FIG. 2;

FIG. 4 shows an example curve representing dependency of the filterstrength on local variance and global noise standard deviation;

FIG. 5 shows a function block diagram of an embodiment of a noiseestimation system utilized for the global statistics computing unit ofFIG. 2; and

FIGS. 6A and 6B show example diagrams illustrating the effect of pixelvalues driven into saturation (0 or 255) by noise.

DETAILED DESCRIPTION OF THE INVENTION

As noted above, in one embodiment the present invention provides aglobal and local statistics controlled noise reduction system whereinthe video image noise reduction processing is effectively adaptive toboth image local structure and global noise level. And, a noiseestimation method according to the present invention provides reliableglobal noise statistics to a noise reduction system. The systemdynamically configures a local filter for processing each image pixel,and processes the pixel with that local filter. The filtering process iscontrolled by both global and local image statistics. In one example,the local statistics computed by the system are 1-D and 2-D localvariances, and the global statistics computed by the system is theglobal noise standard deviation. The dynamically configured local filterhas different directions and variable strength for different pixels. Thedirection of the local filter is determined by 1-D local variances. Thestrength of the local filter is computed directly from the localvariances and the global noise standard deviation.

The global noise standard deviation is estimated by a preferred noiseestimation method that comprises the following steps. First, the imageis divided into overlapping or non-overlapping blocks, and the mean andthe standard deviation of each block are calculated. Then, the smalleststandard deviation is found together with the corresponding block mean.After the smallest standard deviation and its corresponding mean havebeen found, a “saturation checking” process is applied to determinewhether the block with the smallest standard deviation has saturated.The process is based on the relation between the smallest standarddeviation and its corresponding mean.

If no saturation is detected, the calculated block standard deviationsthat are within a neighboring interval centered at the smallest standarddeviation are averaged, and the average value is taken as the estimatedglobal noise standard deviation. The radius of the neighboring intervaldepends on the value of the smallest standard deviation. If saturationis detected, first a saturation compensation term is added to thesmallest standard deviation to generate a compensated smallest standarddeviation. The saturation compensation term is computed from thesmallest standard deviation and its corresponding mean. Then, thecalculated block standard deviations that are within a neighboringinterval centered at the compensated smallest standard deviation areaveraged to obtain the estimated global noise standard deviation (theradius of the neighboring interval depends on the value of thecompensated smallest standard deviation). The global noise standarddeviation is used in the noise reduction system.

An example of the noise reduction system according to the presentinvention is now described. FIG. 2 shows a functional block diagram ofthe example global and local statistics controlled noise reductionsystem 200 according to an embodiment of the present invention. Thesystem 200 comprises a Global Statistics unit 210, a Local Statisticsunit 220, a Direction Detector 230, a Filter Generator 240, and a PixelFiltering unit 250. A digital video input image is first supplied toboth the Global Statistics unit 210 and the Local Statistics unit 220.The Global Statistics unit 210 estimates the global noise statisticsusing said noise estimation method (also described further below). Theoutput of the Global Statistics unit 210 is the global noise standarddeviation σ, which is supplied to the Filter Generator 240. The LocalStatistics unit 220 computes the 2-D local variance within a smallwindow centered at the current pixel and the 1-D local variances alongfour directions within the same window.

FIG. 3 illustrates an example two-dimensional window 300 including nineimage pixels 310, and example directions for computing the 1-D localvariances for pixel (i,j), where i and j are the indices for pixel rowand column, respectively. The designations L₁, L₂, L₃ and L₄ denote thehorizontal, vertical, diagonal from upper left to lower right, anddiagonal from upper right to lower left directions, respectively.Further, the designation σ_(k) ² denotes the 1-D local variance computedfor direction L_(k), wherein k=1, 2, 3 or 4. And, the designation σ₀ ²denotes the 2-D local variance.

In the example of FIG. 3, P(i,j) denotes e.g. the image gray-scale valueof the pixel at position (i,j), wherein the local variances σ_(k) ²(k=0, 1, 2, 3, 4) at pixel (i,j) are computed within the 3×3 window 300by example as follows.

If k=0, then σ₀ ² is the 2-D variance, and is computed by:${\sigma_{0}^{2} = {\left( {\sum\limits_{s = {- 1}}^{1}{\sum\limits_{t = {- 1}}^{1}\left( {{P\left( {{i + s},{j + t}} \right)} - \mu_{0}} \right)^{2}}} \right)/9}},$

where μ₀ is the corresponding 2-D mean, defined as:$\mu_{0} = {\left( {\sum\limits_{s = {- 1}}^{1}{\sum\limits_{t = {- 1}}^{1}{P\left( {{i + s},{j + t}} \right)}}} \right)/9.}$

If k>0, then σ_(k) ² (k=1, 2, 3, 4) are 1-D variances along thedirection L_(k) (k=1, 2, 3, 4), and are computed by:σ₁ ²=((P(i, j−1)−μ₁)²+(P(i, j)−μ₁)²+(P(i, j+1) μ₁)²)3σ₂ ²=((P(i−1, j)−μ₂)²+(P(i, j)−μ₂)²+(P(i+1, j) μ₂)²)3σ₃ ²=((P(i−1, j−1)−μ₃)²+(P(i, j)−μ₃)²+(P(i+1, j+1)−μ₃)²)/3;σ₄ ²=((P(i−1, j+1)−μ₄)²+(P(i, j)−μ₄)²+(P(i+1, j−1)−μ₄)²)/3;

where μ_(k) (k=1, 2, 3, 4) are the means along the direction L_(k) (k=1,2, 3, 4), and are computed by:μ₁=(P(i, j−1)+P(i, j)+P(i, j+1))/3;μ₂=(P(i−1, j)+P(i, j)+P(i+1, j))/3;μ₃=(P(i−1, j−1)+P(i, j)+P(i+1, j+1))/3;μ₄=(P(i−1, j+1)+P(i, j)+P(i+1, j−1))/3;

After computing the local variances, the Local Statistics unit 220 (FIG.2) provides the 1-D local variances to the Direction Detector 230 todetermine the local edge direction. The Direction Detector 230 thenselects the direction that has the smallest 1-D variance as the localedge direction, and provides it to the Filter Generator 240. The LocalStatistics unit 220 also provides the computed 1-D and 2-D localvariances to the Filter Generator 240, to generate/configure a localfilter based on the statistics quantities provided by both the LocalStatistics unit 220 and the Global Statistics unit 210.

The Filter Generator 240 generates a local filter for the pixel to befiltered. The direction of the local filter is the local edge directiondetected by the Direction Detector 230. The strength of the local filteris computed by using the global noise standard deviation σ provided bythe Global Statistics unit 210 and the local variances σ_(k) ² (k=0, 1,2, 3, 4) provided by the Local Statistics unit 220. For edge directionL_(k) (k=1, 2, 3, 4), the designation α_(k) (k=1, 2, 3, 4) denotes thecorresponding filter strength along those directions. Further, thedesignation α₀ denotes the filter strength for non-edge area filtering.While α_(k) (k=1, 2, 3, 4) controls the strength for filtering along theedge direction, α₀ controls the strength for non-edge area filtering.

The filter strengths α_(k) (k=1, 2, 3, 4) for edge direction L_(k) (k=1,2, 3, 4) are functions of the global noise standard deviation and thelocal variance, and are computed in one example as:α_(k)=min(2σ, max(3σ−σ_(k),0))/(2σ);

wherein min(a,b) is the minimal function that returns the smaller one ofthe two values a and b, and max(a,b) is the maximal function thatreturns the larger one of the two values a and b.

FIG. 4 shows an example curve/plot 400 of the filter strength functionα_(k). When σ_(k) (i.e., the square root of the local variance) is smallin comparison with the global noise standard deviation σ (indicatingthat the local change is caused by noise), the local filter has fullstrength. When σ_(k) is large in comparison to σ (indicating that thelocal change along the detected direction is caused by image structure),the local filter has zero strength. In between, the local filterstrength continuously varies with σ_(k). Further, the filter strengthα_(k) varies with the global noise standard deviation a (i.e., itincreases as the global noise standard deviation increases).

The filter strength α₀ for non-edge area is computed similarly asfollowing:α₀=min(2σ, max(3σ−σ₀,0))/(2σ).

The curve for α₀ is similar to that for α_(k) (k=1, 2, 3, or 4) shown inFIG. 4.

Using the detected local edge direction L_(k) (k=1, 2, 3, or 4), theedge direction filter strengths α_(k) (k=1, 2, 3, or 4), and thenon-edge area filter strength α₀ computed above, the Filter Generatorunit 240 (FIG. 2) generates/configures the local filter f_(k) (k=1, 2,3, or 4) as follows.

If the detected direction is L₁, then f₁ is a 2-D local filter forhorizontal direction, and is defined as:${f_{1} = {\frac{1}{9}\begin{bmatrix}\alpha_{0} & \alpha_{0} & \alpha_{0} \\{\alpha_{0} + {3{\alpha_{1}\left( {1 - \alpha_{0}} \right)}}} & {\alpha_{0} + {3\left( {3 - {2\alpha_{1}}} \right)\left( {1 - \alpha_{0}} \right)}} & {\alpha_{0} + {3{\alpha_{1}\left( {1 - \alpha_{0}} \right)}}} \\\alpha_{0} & \alpha_{0} & \alpha_{0}\end{bmatrix}}};$

If the detected direction is L₂, then f₂ is a 2-D local filter forvertical direction, and is defined as:${f_{2} = {\frac{1}{9}\begin{bmatrix}\alpha_{0} & {\alpha_{0} + {3{\alpha_{2}\left( {1 - \alpha_{0}} \right)}}} & \alpha_{0} \\\alpha_{0} & {\alpha_{0} + {3\left( {3 - {2\alpha_{2}}} \right)\left( {1 - \alpha_{0}} \right)}} & \alpha_{0} \\\alpha_{0} & {\alpha_{0} + {3{\alpha_{2}\left( {1 - \alpha_{0}} \right)}}} & \alpha_{0}\end{bmatrix}}};$

If the detected direction is L₃, then f₃ is a 2-D local filter for thediagonal direction from upper left to lower right, and is defined as:${f_{3} = {\frac{1}{9}\begin{bmatrix}{\alpha_{0} + {3{\alpha_{3}\left( {1 - \alpha_{0}} \right)}}} & \alpha_{0} & \alpha_{0} \\\alpha_{0} & {\alpha_{0} + {3\left( {3 - {2\alpha_{3}}} \right)\left( {1 - \alpha_{0}} \right)}} & \alpha_{0} \\\alpha_{0} & \alpha_{0} & {\alpha_{0} + {3{\alpha_{3}\left( {1 - \alpha_{0}} \right)}}}\end{bmatrix}}};$and

If the detected direction is L₄, then f₄ is a 2-D local filter for thediagonal direction from upper right to lower left, and is defined as:$f_{4} = {{\frac{1}{9}\begin{bmatrix}\alpha_{0} & \alpha_{0} & {\alpha_{0} + {3{\alpha_{4}\left( {1 - \alpha_{0}} \right)}}} \\\alpha_{0} & {\alpha_{0} + {3\left( {3 - {2\alpha_{4}}} \right)\left( {1 - \alpha_{0}} \right)}} & \alpha_{0} \\{\alpha_{0} + {3{\alpha_{4}\left( {1 - \alpha_{0}} \right)}}} & \alpha_{0} & \alpha_{0}\end{bmatrix}}.}$

The generated local filter f_(k) is supplied to the Pixel Filtering unit250 (FIG. 2). The pixel is then filtered using the weighted sum of itsneighboring pixels within a e.g. 3×3 window with the correspondingfilter coefficients as the weights.

As noted, the Global Statistics unit 210 estimates the global noisestatistics using a preferred noise estimation method. Different methodshave been proposed to estimate the noise present in the images, such asthose described in the paper by S. I. Olsen: “Noise Variance Estimationin Images: An Evaluation”, Graphical Models and Image Processing, vol.55, no. 4, pp. 319-323, 1993.

However, existing methods have not properly considered saturationeffects (i.e., pixel values driven into saturation (0 or 255) by thenoise, causing inaccurate estimates (in most cases underestimates) ofnoise). Inaccurate noise estimate can have serious impact on theperformance of the noise reduction system that is controlled by globalnoise statistics.

FIG. 5 shows a functional block diagram of an example noise estimationsystem 500 according to the present invention, for the Global StatisticsComputing unit 210 of FIG. 2. The example noise estimation system 500according to the present invention is capable of handling saidsaturation effect and providing accurate noise estimates. The inputimage is first divided into overlapping or non-overlapping blocks B_(n)of size H×W; (n=1,2, . . . , N); where N is the total number of blocks,and the mean and the standard deviation of each block are computed bythe Mean and Standard Deviation Calculator unit 510. The selected blocksize should not be too small to ensure a robust estimate. Preferably,the block size is e.g. 7×7 or 5×9 pixels (other block sizes can beused). The mean m_(n) and the standard deviation d_(n) of block B_(n)are computed in the unit 510, respectively, as:${m_{n} = \frac{\sum\limits_{{({i,j})} \in B_{n}}{P\left( {i,j} \right)}}{H \times W}};$$d_{n} = {\sqrt{\frac{\sum\limits_{{({i,j})} \in B_{n}}\left( {{P\left( {i,j} \right)} - m_{n}} \right)^{2}}{H \times W}}.}$

The computed block standard deviations and means are then provided to aMinimal Finder 520. The block standard deviations are also provided to aSelective Averaging unit 530.

The Minimal Finder 520 finds the smallest standard deviation, andrecords the smallest standard deviation and its corresponding block meanas d₀ and m₀, respectively, wherein the values d₀ and m₀ are thensupplied to a Saturation Checker 540.

The Saturation Checker 540 checks whether saturation has occurred in theblock with the smallest standard deviation d₀. That is, the SaturationBlock checker determines/detects if pixel values in the block are driveninto saturation (e.g., 0 or 255) due to noise, which may causeinaccurate estimates of image noise. If saturation has occurred, aSaturation Compensator 550 compensates for d₀.

Examples of saturation detection criteria and the compensation methodsare provided below in conjunction with FIGS. 6A-6B which illustrateexamples of the effect of pixel values driven into saturation by noise(e.g., pixel value is at a lower limit such as 0 or at an upper limitsuch as 255).

-   -   For this example an upper limit UL=255, a lower limit LL=0 and a        mid value M=128. Such that, if m₀<128 and d₀>m₀−0, then        saturation is detected at the lower limit 0 (FIG. 6A). In this        case d₀ is compensated as {tilde over (d)}₀=d₀+K·(d₀−(m₀−0)),        wherein {tilde over (d)}₀ denotes the compensated smallest        standard deviation; If m₀≧128 and d₀>255−m₀, then saturation is        detected at the upper limit 255 (FIG. 6B). In this case d₀ is        compensated as {tilde over (d)}₀=d₀+K·(d₀−(255−m₀)); Otherwise,        no saturation is detected. In this case no compensation is        needed for d₀, therefore {tilde over (d)}₀=d₀.

In the above expressions for {tilde over (d)}₀, the compensationparameter K is empirically determined. Preferably in this example K=5.0is used. As those skilled in the art will recognize, the saturationdetection method can be easily generalized to other situations where theimages are represented by different bit values and therefore havedifferent values for UL, LL and M.

The compensated smallest standard deviation {tilde over (d)}₀ is thensupplied to the Selective Averaging unit 530 (FIG. 5) to generate thefinal estimate of the global noise standard deviation σ, utilized in thesystem 200 of FIG. 2.

The Selective Averaging unit 530 (FIG. 5) first selects those blockstandard deviations (provided by the Mean and Standard DeviationCalculator 510) that are within a selected range of (e.g., close to) thecompensated smallest standard deviation {tilde over (d)}₀. In oneexample, a block standard deviation d_(n) (n=1,2, . . . , N) isconsidered within a range of {tilde over (d)}₀ if |d_(n)−{tilde over(d)}₀|<max({tilde over (d)}₀,1). The selected block standard deviationsare then averaged, and the average value is taken as the final estimateof the global noise standard deviation σ, for use in the system 200(FIG. 2).

While this invention is susceptible of embodiments in many differentforms, there are shown in the drawings and will herein be described indetail, preferred embodiments of the invention with the understandingthat the present disclosure is to be considered as an exemplification ofthe principles of the invention and is not intended to limit the broadaspects of the invention to the embodiments illustrated. Theaforementioned systems 200 and 500 according to the present inventioncan be implemented in many ways, such as program instructions forexecution by a processor, as logic circuits, as ASIC, as firmware, etc.,as is known to those skilled in the art. Therefore, the presentinvention is not limited to the example embodiments described herein.

The present invention has been described in considerable detail withreference to certain preferred versions thereof; however, other versionsare possible. Therefore, the spirit and scope of the appended claimsshould not be limited to the description of the preferred versionscontained herein.

1. (canceled)
 2. The method of claim 3, wherein the step of computingthe global statistics comprises the step of estimating the global noisestandard deviation σ to generate the global statistics.
 3. A method forreducing noise in a digital image formed from a plurality of pixelsincluding a given pixel, the method comprising the steps of: computingglobal statistics from the image; computing local statistics for thegiven pixel; configuring a local filter using the local and globalstatistics; and filtering the given pixel using the local filter toreduce image noise, wherein the step of computing the local statisticsfor the given pixel further includes the steps of: selecting a windowcontaining the given pixel and a plurality of neighboring pixels;computing a 2-D local variance of the given pixel based on informationrelated to the pixels in the window; computing a plurality of 1-D localvariances along multiple directions through the given pixel in thewindow; and detecting a local edge direction by selecting one of thedirections with the smallest 1-D local variance.
 4. The method of claim3, wherein the step of computing the local statistics for the givenpixel further includes the steps of: selecting a window containing thegiven pixel and a plurality of neighboring pixels; computing the 2-Dlocal variance σ₀ ² of the given pixel based on information related tothe pixels in the window; computing the 1-D local variances σ₁ ², σ₂ ²,σ₃ ², and σ₄ ² along the horizontal (L₁), vertical (L₂), diagonal fromupper left to lower right (L₃), and diagonal from upper right to lowerleft (L₄) directions through the given pixel, respectively, in thewindow; and detecting the local edge direction by selecting thedirection with the smallest 1-D local variance. 5.-13. (canceled) 14.The system of claim 15, wherein the global statistics module estimates aglobal noise standard deviation σ to generate the global statistics. 15.A noise reduction system for reducing noise in a digital imagecomprising pixels the system comprising: a global statistics module thatcomputes global statistics from the image; a local statistics modulethat computes local statistics for each of a plurality of image pixelsincluding a given pixel; a filter configuration module that uses thelocal and global statistics for the given pixel to configure a localfilter for filtering the given pixel; and the local filter as configuredby the filter configuration module being adapted for filtering the givenpixel to reduce image noise, wherein the local statistics modulecomputes the local statistics for the given pixel by: selecting a windowcontaining the given pixel and a plurality of neighboring pixels;computing a 2-D local variance of said pixel based on informationrelated to the pixels in the window; computing a plurality of 1-D localvariances along multiple directions each defined by a pair of the pixelsin the window; and detecting a local edge direction for the given pixelby selecting one of the directions with the smallest 1-D local variance.16. The system of claim 15, wherein the local statistics module computesthe local statistics for each pixel by: selecting a window containingsaid pixel and a plurality of neighboring pixels; computing the 2-Dlocal variance σ₀ ² of the given pixel based on information related tothe pixels in the window; computing the 1-D local variances σ₁ ², σ₂ ²,σ₃ ², and σ₄ ² along the horizontal (L₁), vertical (L₂), diagonal fromupper left to lower right (L₃), and diagonal from upper right to lowerleft (L₄) directions through the given pixel, respectively, in thewindow; and detecting the local edge direction by selecting thedirection with the smallest 1-D local variance. 17.-24. (canceled)
 25. Amethod for reducing noise in a digital image at a selected pixel,comprising: computing global statistics from the digital image;computing local statistics for the selected pixel by: selecting a windowcontaining the selected pixel and a plurality of neighboring pixels;computing a 2-D local variance of the selected pixel based on theplurality of neighboring pixels in the window; computing a plurality of1-D local variances along multiple directions through the selected pixelin the window; and identifying a local edge direction by selecting oneof the multiple directions with the smallest 1-D local variance;configuring a local filter using the computed local and globalstatistics after identifying the local edge direction; and filtering thegiven pixel using the local filter to reduce image noise.
 26. The methodof claim 25, wherein computing the global statistics comprisesestimating a global noise standard deviation σ.
 27. The method of claim25, wherein computing the plurality of 1-D local variances alongmultiple directions through the selected pixel in the window comprises:computing the 1-D local variances σ₁ ², σ₂ ², σ₃ ², and σ₄ ² along thehorizontal (L₁), vertical (L₂), diagonal from upper left to lower right(L₃), and diagonal from upper right to lower left (L₄) directionsthrough the selected pixel, respectively, in the window.